package com.car.mapper;

import com.car.entity.Carrentalorderform;
import com.car.vo.CarrentalorderformVo;
import com.car.vo.DetailedlistofrentalchargesVo;
import com.car.vo.orderVo;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface CarrentalorderformMapper {
    int deleteByPrimaryKey(Integer orderId);
/**
 * 添加
    * @Title: insert
    * @Description: TODO(这里用一句话描述这个方法的作用)
    * @param @param record
    * @param @return    参数
    * @return int    返回类型
    * @throws
 */
    int insert(Carrentalorderform record);

    Carrentalorderform selectByPrimaryKey(Integer orderId);

    List<Carrentalorderform> selectAll();

    int updateByPrimaryKey(Carrentalorderform record);
    /**
     * 查询订单信息
        * @Title: selectAllbyuserId
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @param userId
        * @param @return    参数
        * @return List<CarrentalorderformVo>    返回类型
        * @throws
     */
    List<CarrentalorderformVo> selectAllbyuserId(@Param("userId")Integer userId,@Param("orderState")Integer orderState,
    		@Param("pageNo")Integer pageNo,@Param("pageSize") Integer pageSize);
    
    List<CarrentalorderformVo> selectAllbyuserIdTwo(@Param("userId")Integer userId,@Param("orderState")Integer orderState,
    		@Param("pageNo")Integer pageNo,@Param("pageSize") Integer pageSize);
    /**
     * 计数
        * @Title: selectAllbyuserIdToCount
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @param userId
        * @param @param orderState
        * @param @return    参数
        * @return int    返回类型
        * @throws
        * 
     */
    
    int selectAllbyuserIdToCount(@Param("userId")Integer userId,@Param("orderState")Integer orderState);
    
    int selectAllbyuserIdToCountShun(@Param("userId")Integer userId,@Param("orderState")Integer orderState);
    
    /**
     * 租車訂單詳情
        * @Title: selectAllToInfos
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @param orderId
        * @param @return    参数
        * @return CarrentalorderformVo    返回类型
        * @throws
     */
    CarrentalorderformVo selectAllToInfos(String orderId);
    
    /**
     * 順豐車訂單詳情
        * @Title: selectAllToInfos
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @param orderId
        * @param @return    参数
        * @return CarrentalorderformVo    返回类型
        * @throws
     */
    CarrentalorderformVo selectAllToInfosShun(String orderId);
    
    
    
    /**
     * 修改订单状态
        * @Title: updOrderState
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @param orderState
        * @param @param orderId
        * @param @return    参数
        * @return int    返回类型
        * @throws
     */
    int updOrderState(@Param("orderState")String orderState,@Param("orderId") String orderId);
    
    /**
     * 查询订单当前状态
        * @Title: selectByOrderIdTolistener
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @param orderId
        * @param @return    参数
        * @return Carrentalorderform    返回类型
        * @throws
     */
    Carrentalorderform selectByOrderIdTolistener(String orderId);
    
    
	int addOrder(CarrentalorderformVo order);
   /**
    * 查询所有订单
       * @Title: selectAlls
       * @Description: TODO(这里用一句话描述这个方法的作用)
       * @param @return    参数
       * @return List<Carrentalorderform>    返回类型
       * @throws
    */
    List<Carrentalorderform> selectAlls();
    /***
     * 分页计数
        * @Title: selectCount
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @return    参数
        * @return int    返回类型
        * @throws
     */
    int selectCount();
    /***
     * 分页查询
        * @Title: selectOderPageList
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @param pageNo
        * @param @param pageSize
        * @param @return    参数
        * @return List<Carrentalorderform>    返回类型
        * @throws
     */
    List<Carrentalorderform> selectOderPageList(@Param("pageNo")int pageNo,@Param("pageSize")int pageSize);
    /***
     * 显示详情
        * @Title: selectOderId
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @param orderId
        * @param @return    参数
        * @return Carrentalorderform    返回类型
        * @throws
     */
    Carrentalorderform selectOderId(String orderId);
    /***
     * 修改普通订单状态
        * @Title: updateOrderState
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @param orderId
        * @param @return    参数
        * @return int    返回类型
        * @throws
     */
    int updateOrderState(@Param("orderId")String orderId ,@Param("limitTheTotalMileage")String limitTheTotalMileage);
    /**
     * 顺风车分页计数
        * @Title: shunfengOrderCount
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @return    参数
        * @return int    返回类型
        * @throws
     */
    int shunfengOrderCount();
    /***
     * 顺风车分页查询
        * @Title: shenfengPageLsit
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @param pageNo
        * @param @param pageSize
        * @param @return    参数
        * @return List<Carrentalorderform>    返回类型
        * @throws
     */
    List<Carrentalorderform> shenfengPageLsit(@Param("pageNo")int pageNo,@Param("pageSize")int pageSize);
    /***
     * 顺风车显示详情
        * @Title: shunfengSelectOrderId
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @param orderId
        * @param @return    参数
        * @return Carrentalorderform    返回类型
        * @throws
     */
    Carrentalorderform shunfengSelectOrderId(String orderId);

 /***
     * 普通车根据订单编号查询
        * @Title: selectOrderIdcha
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @param id
        * @param @return    参数
        * @return Carrentalorderform    返回类型
        * @throws
     */
    Carrentalorderform selectOrderIdcha(String id);
    /***
     * 顺风车根据订单编号查询
        * @Title: shunfengOrderIdcha
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @param id
        * @param @return    参数
        * @return Carrentalorderform    返回类型
        * @throws
     */
    Carrentalorderform shunfengOrderIdcha(String id);

 
    /**
     * 行程管理
        * @Title: xingCheng
        * @Description: TODO(这里用一句话描述这个方法的作用)
        * @param @param carId
        * @param @return    参数
        * @return List<Carrentalorderform>    返回类型
        * @throws
     */
    List<Carrentalorderform> xingCheng(@Param("carId")Integer carId,@Param("start")Integer start,@Param("pageNo")Integer pageNo,@Param("pageSize")Integer pageSize);
  



}